from django.db import models

# Create your models here.

class Department(models.Model):
    ''' id默认是自增 '''
    """ 部门表 """
    title = models.CharField(verbose_name='标题', max_length=32)

class UserInfo(models.Model):
    """ 员工表 """
    name = models.CharField(verbose_name="姓名", max_length=16)
    password = models.CharField(verbose_name="密码", max_length=64)
    age = models.IntegerField(verbose_name="年龄")
    account = models.DecimalField(verbose_name="账户余额", max_digits=10, decimal_places=2)  # 最大值说10，小数位为2
    create_time = models.DateTimeField(verbose_name="入职时间", auto_now=True)

    # 无约束
    # depart_id = models.BigIntegerField(verbose_name="部门ID")

    # 1. 有约束， 部门id必须是部门表中存在的值
    # to: 关联的上面的模型名称，也就是表的名称；to_field: 表中的那一列关联
    # 2. 会生成一个列名为 depart_id 的列
    # 3. 部门表中的记录被删除
    # 3.1 级联删除
    # depart = models.ForeignKey(to="Department", to_field="id", on_delete=models.CASCADE)
    # 3.2 置空, 置空那么肯定要允许为空，否则会报错
    depart = models.ForeignKey(to="Department", to_field="id", null=True, blank=True, on_delete=models.SET_NULL)

    # 在django中的约束
    # 直接显示'男'，'女'的方式 ==》 get_字段_display()
    gender_choices = {
        (1, '男'),
        (2, '女')
    }
    gender = models.SmallIntegerField(verbose_name="性别", choices=gender_choices)
